package com.zecan.blog.dao;

import com.zecan.blog.entity.Article;
import com.zecan.blog.entity.Tag;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName TagMapper
 * @Description
 * @date 2022/11/3 20:49
 * @Version 1.0
 * 操作数据库tag表
 */

public interface TagMapper {

    // 查询所有标签信息
    List<Tag> findTagByLimit();

    // 添加文章的时候在中间表插入信息
    Integer insertTagsByArticleId(@Param("tagList") List<String> tags, @Param("id")Integer articleId);

    // 根据标签id 获取文章分页信息
    List<Article> findArticleByTagId(String tagIds,Integer offset ,Integer limit);

    //获取对应标签的文章数量
    Integer findArticleByTagIdCount(String tagIds);

    // 更新标签表中标签数量
    void updateTagCount(Integer[] ids);

    // 根据标签id 修改标签名
    Integer updateTagNameById(@Param("tagId") Integer id,@Param("tagName") String tagName);

    // 根据标签id进行删除
    Integer deleteTagById(Integer id);

    // 增加标签
    Integer insertTag(String tagName);

    // 获取所有标签的数量
    Integer selectTagCount();
}
